/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mailserver;

import Message.Mensaje;
import SwConfMessage.Interfaz.IMailServer;
import SwConfMessage.Interfaz.IMensaje;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Jhonny
 */
public class MailServer1 implements IMailServer {

    private ArrayList<Mensaje> L;

    public MailServer1() {
        L = new ArrayList<Mensaje>();
    }

    /**
     *
     * @param name
     * @return
     */
    @Override
    public int getMessagesWaitting(String name) {
        int n = 0;
        int k = L.size();
        while (k > 0) {
            k--;
            String s = L.get(k).Sender();
            if (s.equals(name)) {
                n++;
            }
            
        }
        return (n);
    }

    /**
     *
     * @param name
     * @return
     */
    @Override
    public IMensaje getNextMessage(String name) {
        int n = 0;
        int k = L.size();
        while (k > n && !L.get(n).Sender().equals(name)) {
            n++;
        }
        if (n < k) {
           
            Mensaje M = L.get(n);
            L.remove(n);
           
            return (M);
        } else {
            return (null);
        }
    }

    @Override
    public void post(IMensaje message) {
          String d= ((Mensaje)message).NombreDestino(); 
          String s= ((Mensaje)message).Sender(); 
          ((Mensaje)message).NombreDestino(s); 
          ((Mensaje)message).Sender(d); 
          
          L.add((Mensaje)message);
    }

    @Override
    public String toString() {
        String s ="";
        int n =0;
        while(n<L.size()){
            s=s+L.get(n).toString()+"\r\n";
            n++;
        }
        return s;
    }
}
